package com.comac.ins.isfd.domain.bo;

import com.comac.ins.common.core.validate.AddGroup;
import com.comac.ins.common.core.validate.EditGroup;
import com.comac.ins.common.mybatis.core.domain.BaseEntity;
import com.comac.ins.isfd.domain.IsfdAcousticsModel;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 声学模型业务对象 isfd_acoustics_model
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = IsfdAcousticsModel.class, reverseConvertGenerate = false)
public class IsfdAcousticsModelBo extends BaseEntity {

    /**
     * 主键id
     */
    @NotNull(message = "主键id不能为空", groups = {EditGroup.class})
    private Long id;

    /**
     * 文件名
     */
    @NotBlank(message = "文件名不能为空", groups = {AddGroup.class, EditGroup.class})
    private String fileName;

    /**
     * 原名
     */
    @NotBlank(message = "原名不能为空", groups = {AddGroup.class, EditGroup.class})
    private String originalName;

    /**
     * 网格格式
     */
    @NotBlank(message = "网格格式不能为空", groups = {AddGroup.class, EditGroup.class})
    private String meshFormat;

    /**
     * OSS文件地址
     */
    @NotBlank(message = "OSS文件地址不能为空", groups = {AddGroup.class, EditGroup.class})
    private String url;

    /**
     * 文件路径
     */
    @NotBlank(message = "文件路径不能为空", groups = {AddGroup.class, EditGroup.class})
    private String filePath;

    /**
     * 文件大小
     */
    @NotNull(message = "文件大小不能为空", groups = {AddGroup.class, EditGroup.class})
    private Long fileSize;

    /**
     * 支持的求解器
     */
    @NotBlank(message = "支持的求解器不能为空", groups = {AddGroup.class, EditGroup.class})
    private String solver;

    /**
     * 业务场景
     */
    @NotBlank(message = "业务场景不能为空", groups = {AddGroup.class, EditGroup.class})
    private String businessName;

    /**
     * 来源方式
     */
    @NotBlank(message = "来源方式不能为空", groups = {AddGroup.class, EditGroup.class})
    private String importMethod;

    /**
     * 备注
     */
    @NotBlank(message = "备注不能为空", groups = {AddGroup.class, EditGroup.class})
    private String remarks;


}
